package com.dingding.common.core.model.push;

import java.util.Date;

import com.dingding.common.core.model.dto.PushModelBean;
import com.dingding.common.core.util.DateFormatUtil;
import com.dingding.common.core.util.ToolUtil;

/**
 * 
 * @ClassName: PushModel 
 * @Description: 消息-推送模板 
 * @author YHQ
 * @date 2016年7月25日 下午2:32:38
 * @since V2.3.2
 * 
 */
public class PushModel {

	private static PushModelBean pushModelBean = null;
	
	/**
	 * 
	 * @Title: registerModel 
	 * @Description: 注册推送模板
	 * @author YHQ 
	 * @since V2.3.2
	 * @return PushModel    返回类型
	 * 
	 */
	public static PushModelBean registerModel(){
		
		pushModelBean = new PushModelBean();
		
		// 系统当前时间
		Date date = new Date();
		
		// 创建时间
		pushModelBean.setCreateTime(DateFormatUtil.yyyy_MM_dd_HHmm(date));
		// 跳转类型 (1:无需跳转 2:应用内跳转)
		pushModelBean.setJumpType(1);
		// 消息内容
		pushModelBean.setMessageContent("您已成功注册叮叮会员!");
		// 消息Id
		pushModelBean.setMessageId(ToolUtil.getUid());
		// 消息类型
		pushModelBean.setMessageType(null);
		
		return pushModelBean;
	}
	
	/**
	 * 
	 * @Title: noticeModel 
	 * @Description: 通知模板
	 * @param content 通知内容
	 * @author YHQ 
	 * @since V2.3.2
	 * @return PushModelBean    返回类型
	 * 
	 */
	public static PushModelBean noticeModel(Integer jumpType,String content,Integer messageType){
		
		pushModelBean = new PushModelBean();
		
		// 当前时间
		Date date = new Date();
		
		// 创建时间
		pushModelBean.setCreateTime(DateFormatUtil.yyyy_MM_dd_HHmm(date));
		// 当前时间的时间戳
		pushModelBean.setTimeStamp(DateFormatUtil.getTimeInMillisByTime(date));
		// 跳转类型 (1:无需跳转 2:应用内跳转)
		pushModelBean.setJumpType(jumpType);
		// 消息内容
		pushModelBean.setMessageContent(content);
		// 消息Id
		pushModelBean.setMessageId(ToolUtil.getUid());
		// 消息类型
		pushModelBean.setMessageType(messageType);
		
		return pushModelBean;
	}
	
	/**
	 * 
	 * @Title: noticeModel 
	 * @Description: 通知模板
	 * @param content 通知内容
	 * @author fengshuonan
	 * @since V2.4
	 * @return PushModelBean    返回类型
	 * 
	 */
	public static PushModelBean noticeModel(Integer jumpType,String content){
		return PushModel.noticeModel(jumpType, content, null);
	}
	
}
